<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>04_promise基本使用</title>
</head>
<body>
  <script>
    // 1. 创建一个新的promise对象
    const p = new Promise((resolve, reject) => {// 执行器函数	同步回调
    	console.log('执行 excutor')
    	// 2. 执行异步操作任务
    	setTimeout(() => {
    		const time = Date.now() // 如果当前时间是偶数就代表成功，否则代表失败
    		// 3.1 如果成功了，调用resolve(value)
    		if(time % 2 == 0){
    			resolve('成功的数据，time=' + time)
    		} else {
    			// 3.2 如果失败了，调用reject(reason)
    			reject('失败的数据，time=' + time)
    		}
    	}, 1000)
    })
    console.log('new Promise(之后)')
    
    setTimeout(() => { // 该setTimeout证明在promise中回调函数是可以在异步任务完成后再指定
    	p.then(
	    	value => { // 接收得到成功的value数据		onResolved
	    		console.log('成功的回调', value)
	    	},
	    	reason => { // 接收得到失败的reason数据	onRejected
	    		console.log('失败的回调', reason)
	    	}
	    )
    }, 2000)
  </script>
</body>
</html>